package mode.observer.code;

import java.util.ArrayList;
import java.util.List;

/**
 * 具体的被观察者（公众号）
 *
 * @author xjx
 * @date 2023/7/27 14:34
 */
public class Subject implements Observable {
    // 观察者列表(订阅用户)
    private List<Observer> list = new ArrayList<>();

    @Override
    public void add(Observer observer) {
        list.add(observer);
    }

    @Override
    public void del(Observer observer) {
        list.remove(observer);
    }

    // 给每一个观察者(订阅者)推送消息
    @Override
    public void notify(String message) {
        list.forEach(observer -> observer.update(message));
    }

}
